<?php 
namespace Admin\Controller;

class StuController extends AdminController
{
    public function index()
    {
        /*// echo '我是正式工';
        $app = A('User','Event');
        $app->index();*/

        // $user = M('user');//得到系统的model对象
        $user = D('user');//得到自定义的model对象
        $user->select();
        $user->where(array('id'=>7))->select();
        $user->table('lover')->select();
        $user->table('lover')->alias('bieming')->select();
        $user->field('id,name')->select();
        $user->order(array('id'=>'desc'))->select();

        $user->limit(2,10)->select();//2,10
        $user->page(2,10)->select();//2页码,10每页条目数
        $user->page(10,10)->select();//90,10

        $data = $user->field('id,count(*)')->group('sex')->select();//按性别统计人数

        $data = $user->field('id,count(*)')->group('sex')->having('count(*)<10')->select();//在以性别分组的结果中 再次过滤出性别人数小于10的

        $data = $user->field('lover.name lname,user.name uname')->join('lover on user.id=lover.user_id')->select();//查出user表与lover表的关系列

        $data = $user->field('l.name lname,u.name uname')->table('user u,lover l')->where('u.id=l.user_id')->select();//查出user表与lover表的关系列

        $data = $user->field('province')->distinct(true)->select();//去重

        //查询语言
        $data = $user->where('id>20 and sex=1')->select();//不推荐
        //数组
        $map = array();
        $map['id'] = 8;
        $map['sex'] = 1;
        // $map['or'] = true;//NONONONo
        $map['_logic'] = 'or';//默认是and
        $data = $user->where($map)->select();//推荐

        $map = array();
        $map['age'] = array('gt','20');
        $map['sex'] = array('eq','0');
        $data = $user->where($map)->select();//推荐

        //快捷方式
        $map = array();
        $map['name|sex'] = 1;
        $map['name&age'] = 20;
        $data = $user->where($map)->select();//推荐

        //区间
        $map = array();
        $map['id'] = [['gt',10],['lt',50]];
        $data = $user->where($map)->select();//推荐

        //组合查询
        // (name like '%n%' or sex = '0') and class='s50';
        $map = [];
        $map['name'] = ['like','%n%'];
        $map['sex'] = 0;
        $map['_logic'] = 'or';//默认是and
        $where = [];
        $where['_complex'] = $map;
        $where['age'] = '10';
        $data = $user->where($where)->select();//推荐

        $data = $user->getById('3');



    

        echo $user->getLastSql();
        dump($data);

    }

    public function ajax()
    {
        $this->display('Stu/ajax');
    }
    public function jump()
    {
        //参1 提示信息
        //参2 URL地址
        //参3 等待时间 success 最小1  / error  最小3
        // $this->success('success!!!', U('User/index'),2);
        // $this->error('error!!!', U('User/index'),999999);

        //重定向
        // echo "<meta >";
        // 指定跳转时间
        // $this->redirect('User/add','',5);
        // 指定提示信息
        // $this->redirect('User/add','',5,'正在前往多拉多...');
        //无法跳转到外部URL
        // $this->redirect('http://ow.blizzard.cn/home','',5,'正在前往多拉多...');  //NO

        redirect('http://ow.blizzard.cn/home',5,'正在前往花村...');
    }

    //ajax操作
    public function doAjax()
    {
        if (!IS_AJAX) {
            $this->error('你是不是迷路了.....');
            exit;
        }
        $data = M('user')->select();
        // echo json_encode($data);
        $this->ajaxReturn($data);
    }

    public function getUrl()
    {
        echo U('index').'<br>';
        echo U('User/index').'<br>';
        echo U('Home/User/index').'<br>';

        echo U('Home/User/index@www.163.com').'<br>';
        echo U('Home/User/index@image.163.com').'<br>';
        echo U('Home/User/index#abc@image.163.com').'<br>';
    }

    public function add()
    {
        echo "Admin / Stu / add<br>";
    }

    public function _before_add()
    {
        echo '我在上面<br>';
    }
    public function _after_add()
    {
        echo '我在下面<br>';
    }


    //控制器的定义
    public function action()
    {
        //实例化控制器
        /*$app = new UserController();
        $app->index();*/

        //A() 实例化多层控制器
        /*$app = A('User');
        $app->index();*/

        //R() 远程调用控制器的操作方法
        R('User/add');

    }



    public function test()
    {
        $stu = M('lover');
        //查询指定字段值
        //getField(字段,true)  参2返回数组
        // $data = $stu->where('id<4')->getField('name',true);
        //可以查询多个字段,直接返回数组
        //把参数的第一个字段值 作为键值
        // $data = $stu->getField('id,name,sex');
        // $stu->where('id=1')->setField('name','hds');

        //不执行SQL而只是返回SQL fetchSql(true)
        // echo $stu->where('id=1')->fetchSql(true)->setField('name','hds');
        //得到最后一条执行的SQL语句
        // echo $stu->getLastSql().'<br>';
        
        //积分更新   +5
        // M('score')->where('id=1')->setInc('score',5);
        // echo M('score')->getLastSql().'<br>';

        //+1
        // M('score')->where('id=2')->setInc('score');
        //-1
        // M('score')->where('id=3')->setDec('score');

        $data = M('user3')->where('id > 10')->delete();
        dump($data);
    }
}



